// Array.prototype.myFunc = function () {
//   for (let i = 0; i < this.length; i++) {
//     for (let j = i + 1; j < this.length; j++) {
//       if (this[i] === this[j]) {
//         this.splice(j, 1);
//       }
//     }
//   }
// }

// Array.prototype.myFunc = function () {
//   let arr = [];

//   for (let i = 0; i < this.length; i++) {
//     if (!arr.includes(this[i])) {
//       arr.push(this[i]);
//     }
//   }
//   return arr;
// }

// Array.prototype.myFunc = function () {
//   return Array.from(new Set(this));
// }

Array.prototype.myFunc = function () {
  return this.filter((elem, index) => {
    return this.indexOf(elem, 0) === index;
  })
}

function unique(arr) {
  return Array.from(new Set(arr));
}

let arr = [1, 2, 3, 4, 5, 1, 2, null, undefined, [], [], null, undefined, {}, {}, '123', '123', '1'];

console.log(arr);

console.log(arr.myFunc());
